fix(reliability): bound durable ETag validation - #188
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Restacked the durable ETag and save-result reflection boundary onto exact |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Remove the duplicated Python support contract changes from this autosave ETag branch. PR #405 remains the single writer while this branch keeps its bounded durable ETag delta. Signed-off-by: Seongho Bae <seonghobae@users.noreply.github.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Scope
Closes #187.
Closes #342.
This Draft is the sole integration writer for
src/autosave/session.ts. It keeps Inkspan's durable autosave boundary provider-neutral: hosts own transport, authorization, tenancy, persistence, retry/timeout policy, credentials, and durable audit; Inkspan owns deterministic validation, local state, single-flight ordering, and validator handoff.Protected shipped truth is independently resolved as
main@3b38ead2d00f44eb578d0689087b9293b3dabe1e. Current exact Draft head is0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89.Test-first autosave lineage
Durable ETag resource ceiling
The #187 work rejects complete strong ETag candidates above the local 64 Ki UTF-16-code-unit ceiling before regex evaluation while preserving in-bound RFC 9110 strong entity-tag grammar, exact-ceiling ASCII/obs-text acceptance, first-code-unit-over rejection, and payload-redacted initial/recovery/save-result failures. That resource ceiling is Inkspan local policy, not an RFC field-size claim.
#342 malformed-result reflection preflight
RED — exact test-only head
a063212389b4678ddef8033fb102367d621258d1. CI31873701732, build-and-test job94986097060, checked out that exact SHA; frozen install and typecheck passed before the public-session regression failed because an invalid durable-save result reached caller-controlledownKeysreflection.Initial GREEN —
dba2d9f124e825462178f3c62ebb903c7ec21004.readDurableSaveResult()inspects the ownstatusdescriptor beforeReflect.ownKeys(). Missing/accessor/unknown status fails closed before global own-key enumeration; only exact data valuesconflictorsavedproceed to exact-key-shape validation.The same canonical source lane continued with bounded result-shape hardening at
8fa73b6212b672a7eeca2342c7ace2cf5b26a407,ffedd83b3ccf74336f4334bf1b5ef49bbb63b20d,79cdab038e0f3f7789c4959d23494815a9d0cd61,5cbbaaca66843bc2c103de59b1d05b17c431e29b, and9b5ade5be709bd576686eb4e839e9428ca9314cc. Predecessor evidence does not transfer after later head movement.Release-control contradiction convergence
This long-lived branch had inherited stale release-control state while protected main advanced through #326. That was a branch-state contradiction, not autosave product authority.
Current repair commit
0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89restores.github/workflows/release.ymlbyte-for-byte from protectedmain@3b38ead2d00f44eb578d0689087b9293b3dabe1ewithout a force push or destructive rebase. Fresh exact comparison now resolves the merge base to the protected tip, reports 23 ahead / 0 behind, and contains only the six intended autosave/documentation paths:docs/README.md;docs/doctoring/durable-etag-resource-boundary.md;src/autosave/session.entityTagPackageBoundary.test.ts;src/autosave/session.entityTagResourceBoundary.test.ts;src/autosave/session.ts;src/durableEtagResourceDocumentation.test.ts.The protected exact-release-checkout workflow is no longer a PR-owned delta. This converges the branch to protected release authority while leaving autosave runtime scope unchanged.
Exact-current-head evidence
For unchanged exact head
0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89:32092237685: completed / success;32092237702: completed / success;32092237686: completed / success;These are repository-level exact-head technical results only. Any separately applicable central workflow that is absent, pending, queued, cancelled, skipped, predecessor-only, status-only, or model-only remains non-passing. Automated/model/status evidence is not qualifying independent approval.
Integration boundary
Keep this PR Draft and unmerged while #118 owns exact protected
v0.6.0tag/publication/provenance/digest operational acceptance frommain@3b38ead2d00f44eb578d0689087b9293b3dabe1eand qualifying independent approval/live governance remain unsatisfied. Before any later Ready/merge transition, refetch exact head/live base, rulesets, formal reviews/threads and every applicable required workflow. Do not substitute a branch ref for tag/release identity, self-approve, weaken gates, or transfer predecessor evidence.